package com.xbongbong.saas.model;

import com.xbongbong.paas.toolbox.exception.XbbException;
import com.xbongbong.paas.toolbox.wrap.IModel;
import com.xbongbong.pro.domain.entity.LabelGroupEntity;

import java.util.Collection;
import java.util.List;
import java.util.Map;

/**
 * @author guohui.zhang
 * @Title:
 * @date 2020/11/219:18
 */
public interface LabelGroupModel extends IModel<LabelGroupEntity> {
    @Override
    Integer insert(LabelGroupEntity entity) throws XbbException;

    @Override
    Integer update(LabelGroupEntity entity) throws XbbException;

    @Override
    List<LabelGroupEntity> findEntitys(Map<String, Object> param);

    @Override
    Integer getEntitysCount(Map<String, Object> param);

    Integer save(LabelGroupEntity entity) throws XbbException;

    LabelGroupEntity getByKey(Long key, String corpid);

    Integer sortCategory(Map<String, Object> param, Map<Long, Long> sortMap);

    Integer deleteBykey(Long key, String corpid);

    void insertBatch(List<LabelGroupEntity> entitys, String corpid);

    List<LabelGroupEntity> getByIds(List<Long> groupIds, String corpid);

    void deletebatch(List<Long> groupIds, String corpid);

    void updateBatch(List<LabelGroupEntity> entitys, String corpid);

    void deleteByFormIds(Collection<Long> systemFormList, String targetCorpid, Long appId);
}
